#pragma once

#include "ScriptCompiler/ASTBuilder/ASTBuilder.h"

class CCaseNode;

class CCaseBuilder : public IASTBuilder
{
public:
    CCaseBuilder(std::shared_ptr<CScriptFileContext> InContext,int32_t InEndTokenIndex);

    bool ReadCurentToken() override;

    std::shared_ptr<CCaseNode> Result;

protected:
    std::shared_ptr<CScriptFileContext> Context;

    int32_t EndTokenIndex;

    bool ReadDefaultCase();
};